Indkapsling
Teori
Indkapsling forbindes ofte med objektorienteret kodning, men det kan bruges indenfor alle programmeringsparadigmer.

In software systems, encapsulation refers to the bundling of data with the mechanisms or methods that operate on the data. It may also refer to the limiting of direct access to some of that data, such as an object’s components. – wiki
En klasse/struct giver netop mulighed for at samle data med tilhørende metoder.
Begrænset adgang
Man bruger ordene privat og offentlig til at betegne om elementer udenfor en indkapsling kan anvende fx variabler og funktioner indenfor indkapslingen.
I Python kan en klasses medlemmer indikeres (men ikke håndhæves) som private vha. _ eller __. Sidstnævnte vil gøre adgangen mere unik vha. name mangling (navneforvrængning).
I Rust er alt som udgangspunkt privat, men kan gøres offentligt vha. pub nøgleordet. Se moduler, [1] og Rust reference: Visibility and privacy.